﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Runtime.Serialization;

namespace MoviTiendas.Logica
{
    [DataContract]
    public class Item
    {
        [DataMember]
        public int cantidad { set; get; }
         [DataMember]
        public int precioUnitario { set; get; }
         [DataMember]
        public Producto producto { get; set; }
         [DataMember]
        public Tienda tienda { get; set; }


        public Item(int cantidad, int precioUnitario, Producto producto, Tienda tienda)
        {
            this.cantidad = cantidad;
            this.precioUnitario = precioUnitario;
            this.producto = producto;
            this.tienda = tienda;

        }

        public Item darCopia()
        {
            Item nuevo = new Item(cantidad, precioUnitario, producto, tienda);

            return nuevo;
        }

        
        public override bool Equals(System.Object obj)
        {
            // If parameter is null return false.
            if (obj == null)
            {
                return false;
            }

            // If parameter cannot be cast  return false.
            Item p = obj as Item;
            if ((System.Object)p == null)
            {
                return false;
            }


            if(!producto.nombre.Equals(p.producto.nombre))
                return false;
            if(!tienda.nombre.Equals(p.tienda.nombre))
            // Return true if the fields match:
                return false;
            return  true;
        }


    }
}
